<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>

    // function qj() {
    //     var x = 1;
    //     x = x + 1;
    // }
    // x = x +2;    会报错，x undefine
    //
    // function qj2() {
    //     var x = 'A';
    //     x = x + 1;
    // }
    
    // function qj() {
    //     var x = 1;
    //     //内部函数可以访问外部函数的成员，反之不行
    //     function qj2() {
    //         var y = x + 1;  //2
    //     }
    //     var z = y + 1;  会报错，y undefine
    // }

    // function qj() {
    //     var x = 1;
    //
    //     function qj2() {
    //         var x = 'A';
    //         console.log('inner'+x);  //innerA
    //     }
    //     console.log('outer'+x);  //outer1
    //     qj2()
    // }
    // qj()

    // function qj() {
    //     var x = "x" + y;
    //     console.log(x);
    //     var y = 'y';
    // }
    // qj()
    //
    // function qj2() {
    //     var y;
    //
    //     var x = "x" + y;
    //     console.log(x)
    //     y = "y";
    // }
    // qj2()

    //全局变量
    //
    // var x = 1;
    // function f() {
    //     console.log(x)
    // }
    // f()
    // console.log(x)

    // var x = 'xxx';
    // alert(x);
    // alert(window.x);    //默认所有的全局变量，都会自动绑定在window对象下；


    var x = 'xxx';
    window.alert(x);

    var old_alert = window.alert;
    //old_alert
    window.alert = function () {

    };
    //发现alert失效了
    window.alert(123);

    //恢复
    window.alert = old_alert;
    window.alert(456);
    
</script>


</body>
</html>